The evolution of computers with respect to memory storage expansion and processing capabilities has enabled massive amounts of data to be accumulated and analyzed by complex and intelligent algorithms. For instance, given an accumulation of data, algorithms can analyze such data and locate patterns therein. These patterns can then be extrapolated from the data, persisted as content of a data mining model or models, and applied within a desired context. With the evolution of computers from simple number-crunching machines to sophisticated devices, services can be provided that range from video/music presentment and customization to data trending and analysis.
Accordingly, tasks that at one time required skilled mathematicians to perform complex operations by hand can now be automated through utilization of computers. In a simplistic example, many individuals, rather than utilizing a skilled accountant to compute their tax liability, simply enter a series of numbers into a computer application and are provided customized tax forms from such application. Furthermore, in a web-related application, the tax forms can be automatically delivered to a government processing service. Thus, by way of utilizing designed algorithms, data can be manipulated to produce a desired result.
As complexity between relationships in data increases, however, it becomes increasingly difficult to generate an output as desired by a user. For instance, multiple relationships can exist between data, and there can be a significant number of manners by which to review and analyze such data. To obtain a desired output from the data, one must have substantial knowledge of content and structure of such data and thereafter generate a complex query to receive this data in a desired manner. Furthermore, if the data must be manipulated to obtain a desirable output, the user must have an ability to generate algorithms necessary to make the required manipulations or outsource the task to a skilled professional. Thus, typically expert computer programmers and/or data analysis experts are needed to properly query a database and apply algorithms to results of these queries. Moreover, if data or relationships therebetween are significantly altered, the expert programmers and/or data analysis experts may have to return and reconfigure a database query and algorithms to manipulate data returned therefrom. Furthermore, if a user or entity desires a disparate output (e.g., desires to modify data analyzed and/or modify data output), then the expert must be summoned yet again to make necessary modifications. Due to complexity and number of relationships between data, these tasks can require a substantial amount of time, even with respect to one of utmost skill. Accordingly, cost, both in monetary terms and in terms of time, can become significant to a user and/or entity, particularly in a business setting, where data must be analyzed and manipulated to create a desired output.
Conventionally, spreadsheet applications are utilized to define relationships within data as well as create and execute calculations against data. Various deficiencies exist with respect to this relational model. For instance, definitions of data within a relational data can be conceptually difficult to comprehend, as data is typically not organized in accordance with human modes of thinking. Furthermore, there is often insufficient depth of data associated with relational tables. For example, if a recursive calculation is requested by way of a script or statement, errors will be returned and the calculation will not be completed. More specifically, a cell within a spreadsheet application can be associated with a particular value, and a user of such application may wish to cause the spreadsheet to alter as a function of the current value. Thus, if the cell is labeled “A”, the user may wish A to be equal to 3A (e.g., the user can define a script such as A=3A). Such a calculation, however, is not permissible within spreadsheet applications, and various errors would be presented to the user.
Accordingly, there exists a need in the art for a system and/or methodology that provides additional functionality with respect to database systems.